package com.zhiyu.middle.rocketmq.service;


import com.zhiyu.middle.rocketmq.entity.MessageReq;

public interface RocketMQService {

    /**
     * RocketMQ消息同步发送
     */
    void syncRocketMQMessageSend(MessageReq messageReq);

    /**
     * RocketMQ消息异步发送
     */
    void asyncRocketMQMessageSend(MessageReq messageReq);

    /**
     * RocketMQ消息单向发送
     */
    void oneWayRocketMQMessageSend(MessageReq messageReq);

    /**
     * RocketMQ消息延迟发送
     */
    void delayedRocketMQMessageSend(MessageReq messageReq);

    /**
     * RocketMQ消息顺序发送
     */
    void orderlyRocketMQMessageSend(MessageReq messageReq, String key);

    /**
     * RocketMQ消息过滤发送
     */
    void selectorRocketMQMessageSend(MessageReq messageReq);

    /**
     * RocketMQ消息分布式事务发送
     */
    void transactionMQSend(MessageReq messageReq, String key);

}
